package com.springboot.activiti.service;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.task.Comment;




public interface WorkflowService {

	/**
	 * 根据taskId获取ProcessDefinition
	 * @param taskId
	 * @return
	 */
	ProcessDefinition findProcessDefinitionByTaskId(String taskId);
	
	/**
	 *   查看当前活动，获取当期活动对应的坐标x,y,width,height，将4个值存放到Map<String,Object>中
		 map集合的key：表示坐标x,y,width,height
		 map集合的value：表示坐标对应的值
	 */
	Map<String, Object> findCoordingByTask(String taskId);

	/**使用部署对象ID和资源图片名称，获取图片的输入流*/
	InputStream findImageInputStream(String deploymentId, String imageName);
	
	/**获取批注信息，传递的是当前任务ID，获取历史任务ID对应的批注*/
	List<Comment> findCommentByTaskId(String taskId);
	
	/**
	 * 完成任务
	 * @param taskId 任务ID
	 * @param outcome 流程流转路线
	 * @param userId 审批人userId
	 * @param message 审批意见
	 */
	void completeTask(String taskId, String outcome,String userId, String message);
}
